package com.cmdb.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.cmdb.common.annotation.Excel;
import com.cmdb.common.core.domain.BaseEntity;

import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 资产信息对象 sys_asset_info
 *
 * @author 陈玉强
 * @date 2025-06-01
 */
@Data
public class SysAssetInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 资产ID */
    @Excel(name = "资产ID")
    private String assetId;

    private Integer orgId;
//    @Excel(name = "组织架构*")
    private String orgIdName;
    /** 单位类型 */
    /** 单位类型 */
    @Excel(name = "单位类型*")
    private String orgType;
    private String orgTypeName;

    @Excel(name = "系统名称*")
    private String systemName;

    /** 系统类型 */
    @Excel(name = "系统类型*")
    private String systemType;
    private String systemTypeName;
    /** 系统用户数量 */
    @Excel(name = "系统用户数量*")
    private Long userCount;
    /** 系统业务主管单位 */
    @Excel(name = "系统业务主管单位*")
    private String businessManager;

    @Excel(name = "系统功能简介*")
    private String gnjj;

    /** 是否定级 */
    @Excel(name = "是否定级")
    private String isClassified;
    private String isClassifiedName;

    /** 系统级别 */
    @Excel(name = "系统级别*")
    private String systemLevel;
    private String systemLevelName;

    /** 业务信息安全等级 */
    @Excel(name = "业务信息安全等级*")
    private String businessSecurityLevel;
    private String businessSecurityLevelName;


    /** 系统服务安全等级 */
    @Excel(name = "系统服务安全等级*")
    private String serviceSecurityLevel;
    private String serviceSecurityLevelName;


    /** 是否备案 */
    @Excel(name = "是否备案*")
    private String isFiled;
    private String isFiledName;

    /** 备案编号 */
    @Excel(name = "备案编号*")
    private String filingNumber;

    /** 是否已测评 */
    @Excel(name = "是否已测评*")
    private String isEvaluated;
    private String isEvaluatedName;

    /** 最近测评时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最近测评时间*", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastEvaluateTime;

    @Excel(name = "等级测评结论*")
    private String cpjl;

    /** 是否已开展商用密码应用安全性评估（0否 1是） */
    @Excel(name = "是否已开展商用密码应用安全性评估*")
    private String isSecurityEvaluated;
    private String isSecurityEvaluatedName;

    /** 最近密评时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最近密评时间*", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastSecurityEvaluateTime;
    @Excel(name = "系统中是否包含个人信息*")
    private String infoperson;

    @Excel(name = "信息类别")
    private String infoType;
    private String infoTypeName;

    @Excel(name = "个人信息数量")
    private Integer  personinfocount;
    /** 部署位置 */
    @Excel(name = "部署位置*", dictType = "sys_jf_addr")
    private String deployLocation;

    /** 机房地址 */
    @Excel(name = "机房地址*")
    private String machineRoomAddress;


    /** 机房主管单位名称 */
    @Excel(name = "机房主管单位名称")
    private String machineRoomManager;

    /** 云服务安全评估 */
    @Excel(name = "是否已通过云计算服务安全评估*")
    private String isCloudEvaluated;
    private String isCloudEvaluatedName;

    @Excel(name = "应用-cpu个数*")
    private String appcpusize;
    @Excel(name = "应用-内存大小*")
    private String appnsize;
    @Excel(name = "应用-磁盘大小*")
    private String appdisksize;

    /** 操作系统 */
    @Excel(name = "操作系统*")
    private String osType;
    private String osTypeName;

    /** 操作系统版本 */
    @Excel(name = "操作系统版本*")
    private String osVersion;




    @Excel(name = "数据库-cpu个数*")
    private String dbcpusize;
    @Excel(name = "数据库-内存大小*")
    private String dbnsize;
    @Excel(name = "数据库-磁盘大小*")
    private String dbdisksize;
    /** 数据库 */
    @Excel(name = "数据库")
    private String databaseType;
    private String databaseTypeName;
    /** 数据库版本 */
    @Excel(name = "数据库版本*")
    private String databaseVersion;

    /** 中间件 */
    @Excel(name = "中间件*")
    private String middlewareType;
    private String middlewareTypeName;

    /** 中间件版本 */
    @Excel(name = "中间件版本")
    private String middlewareVersion;

    /** 应用软件产品 */
    @Excel(name = "应用软件产品*")
    private String appProduct;
    private String appProductName;

    /** 应用产品版本 */
    @Excel(name = "应用产品版本")
    private String appVersion;

    /** 联系人 */
    @Excel(name = "联系人*")
    private String contactPerson;

    /** 办公电话 */
    @Excel(name = "办公电话*")
    private String officePhone;

    /** 手机号 */
    @Excel(name = "手机号*")
    private String mobilePhone;

    /** 系统开发单位（企业） */
    @Excel(name = "系统开发单位*")
    private String developCompany;

    /** 系统运维单位（企业） */
    @Excel(name = "系统运维单位*")
    private String maintainCompany;


    @Excel(name = "系统年度运维经费*")
    private String xtnf;
    @Excel(name = "系统年度网络安全经费*")
    private String xtjf;











    /** 系统名称 */

































    /** 状态 */
//    @Excel(name = "状态")
    private String status;
    private String statusName;

    private List<SysAssetGx> sysAssetGx = new ArrayList<SysAssetGx>();

    /** 删除标志 */
    private String delFlag;












}
